execute

suspend override fun ToolExecutionContext<TContext>.execute(input: TInput): TOutput

Run the tool — the common single-value case. The model's JSON input has already been deserialized into TInput; return the typed output. this is the ToolExecutionContext, so the typed context, abortSignal, toolCallId, stepNumber, messages, and writer are in scope.

Override StreamingTool.executeStream instead to emit preliminary progress snapshots before the final value.